﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace Fee
{
    public class ProjectSetting
    {
        public int Id { get; set; }
        public ConstructionType ConstructionType { get; set; }
        public StationType StationType { get; set; }
        public string ProjectNumber { get; set; }
    }
    /// <summary>
    ///     项目项目
    /// </summary>
    public class Project
    {
        /// <summary>
        ///     项目
        /// </summary>
        [Display(Name = "项目名称")]
        public string Name { get; set; }

        /// <summary>
        ///     描述
        /// </summary>
        [Display(Name = "备注")]
        public string Comment { get; set; }



        /// <summary>
        ///     项目编码
        /// </summary>
        [Display(Name = "项目编码")]
        public string No { get; set; }

        ///// <summary>
        ///// 旧项目编码
        ///// </summary>
        //public string OldNo { get; set; }

        /// <summary>
        ///     下达年份
        /// </summary>
        [Display(Name = "下达年份")]
        public int CreateYear { get; set; }

        /// <summary>
        ///     首次下达日期
        /// </summary>
        [Display(Name = "首次下达日期")]
        public DateTimeOffset? FirstOrderTime { get; set; }

        [Display(Name = "最新下达日期")] public DateTimeOffset? LastOrderTime { get; set; }

        /// <summary>
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        ///     进度
        /// </summary>
        [Display(Name = "进度")]
        public LevelProcess LevelProcess { get; set; }

        /// <summary>
        ///     项目投资，不含税（万元为单位)
        /// </summary>
        [Display(Name = "投资金额(万元)")]
        public decimal Amount { get; set; }

        /// <summary>
        ///     建设期限
        /// </summary>
        [Display(Name = "建设期限")]
        public string ConstructionLimitationComment { get; set; }

        /// <summary>
        ///     建设内容
        /// </summary>
        [Display(Name = "建设内容")]
        public string ConstructionContent { get; set; }

        /// <summary>
        ///     站点规模数
        /// </summary>
        [Display(Name = "站点规模数")]
        public int Station { get; set; }

        /// <summary>
        ///     年度目标
        /// </summary>
        [Display(Name = "年度目标")]
        public string YearTargetDesscription { get; set; }

        /// <summary>
        /// </summary>
        [Display(Name = "状态")]
        public ProjectStatus Status { get; set; }

        /// <summary>
        ///     负责人
        /// </summary>
        [Display(Name = "负责人")]
        public string Owner { get; set; }

        /// <summary>
        /// </summary>
        [Display(Name = "站点类型")]
        public StationType StationType { get; set; }

        [Display(Name = "投资类型")] public ProjectType Type { get; set; }

        // public IList<FrameworkContractProject> FrameworkContracts { get; set; } = new List<FrameworkContractProject>();

        public SpecialtyPrimaryType SpecialtyPrimaryType { get; set; }
        public ProfessionSecondaryType SpecialtySecondaryType { get; set; }
    }

    public enum ProjectType
    {
        //成本、GSM网络投资、TT网络投资、TD网络投资

        /// <summary>
        /// </summary>
        [Display(Name = "成本")] Cost,
        [Display(Name = "GSM网络投资")] Gsm,
        [Display(Name = "TT网络投资")] TT,
        [Display(Name = "TD网络投资")] TD
    }

    public enum LevelProcess
    {
        [Display(Name = "没开始")] None,
        A
    }
}